home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World Interactive 4
/
PC World Interactive 4.iso
/
share
/
hobi
/
catra121.EXE
/
cmrkctrl.txt
< prev
next >
Wrap
Text File
|
1997-08-07
|
11KB
|
287 lines
CMRKCTRL.DLL
============
Pour une description en Franτais, voir la deuxiΦme partie de ce document.
------------------------------------------------------------------------
CMRKCTRL.DLL is a "BETA" version of the interface controller DLL for CATrain,
designed for the MΣrklin Digital(c) system.
Since this DLL has not yet been tested in all modes with a genuine MΣrklin
6051 control unit, this freeware is provided "as is", without any warranty
of functioning.
The only retribution requested to the "Beta testers" is a test report with
the encountered problems and some suggestions.
Some advises:
- To use CMRKCTRL.DLL, verify that the command line "CTRLCOM=CMRKCTRL.DLL"
is present into the [DLL] paragraph of the CATRAIN.INI file.
- The Baud-Rate of the serial line must be set to 2400 BD for the communication
with the 6051 MΣrklin Controller.
- In case of problems encountered for controlling the "mechanical" devices
or during the train circulation, it is possible to modified some parameter
default values by adding the following lines inside the [PARAMETERS]
paragraph of CATRAIN.INI:
The following line defines the pulse duration for the command of an
electromechanical device: (default 216 ms)
CTRLPERIOD=216
The following line defines the period for the polling of the feed-back
information: (default 648 ms)
POLLPERIOD=648
The following line defines the maximum tolerated time for a loss of
synchronization between the model and the feed-back information provided
about train location: (default 10 seconds)
SYNCTIMEOUT=10
The following line defines the rail distance that a train must cross before
that the previously occupied block (rail section) is liberated and the
corresponding signal is set to Red. (default 3 rails).
SECTFREEDIST=3
The following lines define the rail distance before the lowering and after
the raising of the level crossing barriers.
LCROSSDETECT=7
LCROSSLEAVE=2
The following line defines the slope incidence on the electrical power
applied to the loco engine: (default 2)
SLOPEINCIDENCE=2
The "Tracing" functionality of CATrain permits to visualize in a file the
traffic exchanged between the computer and the 6051 control unit.
This file is named "Ctrl.trc".
Hereafter are described the command messages exchanged between the computer
and the control unit.
Those commands are borrowed to the MΣrklin protocol.
Setting the speed of a loco:
---------------------------
special function off (~ front light off):
2 bytes: speed, followed by an address
with the following meaning:
speed = value from 0 to 14.
address = loco decoder address (<80).
special function on (~ front light on):
2 bytes: 16 decimal + speed, followed by an address
with the following meaning:
speed = value from 0 to 14 (+16 => 16 to 30)
address = loco decoder address (<80).
Reversing the motion direction:
------------------------------
2 bytes: 15 decimal followed by the address byte of the loco
when the special function is off (light off)
or 31 decimal followed by the address byte of the loco
when the special function is on (light on)
activating a signal or a rail-switch:
------------------------------------
turnout to straight or signal to green:
2 bytes: 33 decimal followed by the byte address of the device.
turnout to straight or signal to green:
2 bytes: 34 decimal followed by the byte address of the device.
resetting the last activation command of a signal or a switch:
-------------------------------------------------------------
(normally after more or less 250 ms):
1 byte 32 decimal
Establishing the polling of the feed-back information:
-----------------------------------------------------
(train presence detection polling mode, with automatic reset
of the information after reading):
1 byte 192 decimal
N.B. presently, this message is sent at each
polling cycle.
Polling the feed-back information:
---------------------------------
(train presence detection):
1 byte 159 decimal for every polling cycle
(about every 600 ms).
At each polling cycle, the controller must sent back to the PC the
status of all train presence detectors.
Each detector is represented by a single information bit.
(b0 for detector 1, b1 for detector 2, and so on)
When a train is detected, the corresponding detector bit is set to 1.
The whole information is sent by 16 bit packets.
This means that at least two bytes are sent back for 1 to 16 detectors,
four bytes for 17 to 32 detectors and so on.
The unused bits are set to 0.
Two extra commands are provided:
Power On:
--------
1 byte: 96 decimal
Power Off:
---------
1 byte: 97 decimal
Under no circumstances will Joel Bouchat be liable for damages arising
from the use of this software.
==============================================================================
CMRKCTRL.DLL est une version "BETA" du contr⌠leur d'interface pour CATrain,
conτu pour le systΦme MΣrklin Digital(c).
Comme le DLL n'a pu encore pu Ωtre testΘ dans toutes les conditions
d'utilisation en liaison avec une vΘritable unitΘ de contr⌠le MΣrklin 6051
et ses accessoires, ce DLL est livrΘ en l'Θtat, sans garantie, α l'intention
des "Beta testeurs" volontaires ...
L'unique rΘtribution demandΘe est l'envoi d'un rapport de test sur les
dysfonctionnements plus ou moins graves constatΘs et les solutions et
amΘliorations proposΘes.
Quelques conseils:
- Pour utiliser CMRKCTRL.DLL, vΘrifiez que la ligne de commande
"CTRLCOM=CMRKCTRL.DLL" est prΘsente dans le paragraphe [DLL] du fichier
d'initialisation CATRAIN.INI.
- Le Baud-Rate de la ligne sΘrie doit Ωtre fixΘ α 2400 BD pour l'interface
MΣrklin 6051.
- En cas de problΦmes de contr⌠le des ΘlΘments "mΘcaniques" ou de
synchronisation des trains. Il est possible de modifier certains paramΦtres
par dΘfaut en insΘrant quelques ligne de commandes dans le paragraphe
[PARAMETERS] de CATRAIN.INI:
La ligne suivante dΘfinit la longueur de l'impulsion de contr⌠le d'un
ΘlΘment ΘlectromagnΘtique (par dΘfaut 216 ms):
CTRLPERIOD=216
La ligne suivante dΘfinit la pΘriode de "polling" des informations
de rΘtrosignalisation (par dΘfaut 648 ms):
POLLPERIOD=648
La ligne suivante dΘfinit le temps maximum de dΘsynchronisation tolΘrΘ
entre le modΦle informatique et les informations fournies par les unitΘs
de rΘtrosignalisation sur la position rΘelle des trains:
(par dΘfaut 10 secondes)
SYNCTIMEOUT=10
La ligne suivante dΘfinit la distance (en voies) parcourue par le
modΦle d'un train avant la libΘration du tronτon prΘcΘdemment occupΘ et la
mise au rouge du signal correspondant:
(par dΘfaut 3 voies)
SECTFREEDIST=3
Les lignes suivantes dΘfinissent les distances (en voies) pour l'abaissement
et le relevage des barriΦres d'un passage α niveau:
LCROSSDETECT=7
LCROSSLEAVE=2
La ligne suivante dΘfinit l'incidence du degrΘ des pentes et des c⌠tes sur
la commande Θlectrique des moteurs des locos: (par dΘfaut 2)
SLOPEINCIDENCE=2
La fonction de "Trace" de CATrain permet de visualiser dans un fichier
appelΘ ""Ctrl.trc", le trafic ΘchangΘ entre l'ordinateur et l'unitΘ 6051.
Voici les commandes transmises par CATtrain α l'unitΘ de commande, ces
commandes sont dΘrivΘes du protocole MΣrklin:
Commande de la vitesse d'une loco:
---------------------------------
sans activation de la fonction spΘciale (phares Θteints):
2 bytes: vitesse, suivi d'un byte d'adresse
avec la signification suivante:
vitesse = consigne de vitesse (0 a 14)
adresse = adresse de la loco (limitΘe a 80).
avec activation de la fonction spΘciale (phares allumΘs):
2 bytes: 16 dΘcimal + vitesse, suivi d'un byte d'adresse
avec la signification suivante:
vitesse = consigne de vitesse (0 a 14) (+16 => 16 a 30)
adresse = adresse de la loco (limitΘe a 80).
Changement du sens de marche d'une loco:
---------------------------------------
2 bytes: 15 dΘcimal suivi de d'un byte d'adresse (limitΘ a 80)
avec la fonction spΘciale dΘsactivΘe(phares Θteints)
ou 31 dΘcimal suivi de d'un byte d'adresse (limitΘ a 80)
avec la fonction spΘciale activΘe (phares allumΘs).
activation d'un signal ou d'un aiguillage:
-----------------------------------------
aiguillage droit ou signal vert:
2 bytes: 33 dΘcimal suivi d'un byte d'adresse de l'ΘlΘment.
aiguillage courbe ou signal rouge:
2 bytes: 34 dΘcimal suivi d'un byte d'adresse de l'ΘlΘment.
arrΩt de la derniΦre commande d'activation d'aiguillage ou de signal:
--------------------------------------------------------------------
(normalement aprΦs environ 250 ms):
1 byte 32 dΘcimal
Etablissement du polling des informations de rΘtro signalisation:
----------------------------------------------------------------
(mode de polling des dΘtecteurs de prΘsence des trains,
avec reset des infos lors de la lecture):
1 byte 192 dΘcimal
N.B. cette info est envoyΘe actuellement α chaque
cycle de polling.
Polling des informations de rΘtro signalisation:
-----------------------------------------------
(dΘtection de prΘsence des trains):
1 byte 159 dΘcimal a chaque cycle de polling
(environ toutes les 600 ms).
A chaque cycle de polling, le contr⌠leur doit renvoyer au PC
l'Θtat de tous les dΘtecteurs de prΘsence ou de passage des trains.
Chaque dΘtecteur est reprΘsentΘ par 1 bit d'information
(b0 pour le dΘtecteur 1, b1 pour le dΘtecteur 2, et ainsi de suite).
Lorsque le bit est a 1, un train est dΘtectΘ.
Cette information est envoyΘe en paquets de 16 bits (2 bytes).
C'est α dire 2 bytes minimum pour 1 α 16 dΘtecteurs, 4 bytes pour
17 α 32 dΘtecteurs et ainsi de suite.
Les bits non utilisΘs sont mis a 0.
Deux messages supplΘmentaires sont Θgalement utilisΘs:
Mise en route alimentation:
--------------------------
1 byte: 96 dΘcimal
ArrΩt gΘnΘral:
-------------
1 byte: 97 dΘcimal
En aucune circonstance Joδl Bouchat ne pourra Ωtre tenu pour responsable
des dommages qui pourraient dΘcouler de l'utilisation de ce logiciel.